perm filename MLISP.LST[NET,KMC] blob sn#165201 filedate 1975-06-24 generic text, type T, neo UTF8
      Listing from TRANSORing of file <ENEA>MLISP.;1
      done on 24-JUN-75 14:01:01

1. IOFNS at 
  (DEFINEQ (MLISP [NLAMBDA L (PROG ...3... "(INC (EVAL &) NIL)" --]))

2. APPLY/EVAL at 
  (DEFINEQ (MLISP [NLAMBDA L (PROG ...3... (INC "(EVAL (LIST & --))" --)
				   --]))

3. APPLY/EVAL at 
  (DEFINEQ (MLISP [NLAMBDA L (PROG ...4... (COND
				     ((SETQ L &)
				      (COND ((GETP (QUOTE --)
						   &)
					     (SETQ &Y& 
					       "(EVAL (LIST & --))"))
					    --)))
				   --]))

4. INTEGERFN? at 
  (DEFINEQ (MLISP [NLAMBDA L (PROG ...9... (SETQ TIM 
				"(QUOTIENT (DIFFERENCE & --) 1750)")
				   --]))

5. INTEGERFN? at 
  (DEFINEQ (MLISP [NLAMBDA L (PROG ...9... (SETQ TIM (QUOTIENT 
				       "(DIFFERENCE (CLOCK 0) TIM)" --))
				   --]))

6. IOFNS at 
  (DEFINEQ (MLISP [NLAMBDA L (PROG ...16... (PROGN & "(INC NIL T)")
				   --]))

7. IOFNS at 
  (DEFINEQ (MLISP [NLAMBDA L (PROG ...24... (PROGN & 
					     "(OUTC T (TERPRI --))")
				   --]))

8. REMPROP at 
  (DEFINEQ (MLISP [NLAMBDA L
			   (PROG ...26...
				 (COND
				   [(CAR L)
				    (MAPCAR &FNS
					    (FUNCTION
					      (LAMBDA
						&
						(PROG ...2...
						      (COND
							(
"(REMPROP (PRINTTY X) (QUOTE --))" --))
						      --]
				   --)
				 --]))

9. IOFNS at 
  (DEFINEQ (MLISP [NLAMBDA L (PROG ...29... "(OUTC NIL T)" --]))

10. IOFNS at 
  (DEFINEQ (MLISP [NLAMBDA L (PROG ...30... "(INC NIL T)" --]))

11. PRINC1: at 
  (DEFINEQ (MEVAL [LAMBDA NIL (PROG & "(PRIN1 (PROGN & --))" --]))

12. PRINC1: at 
  (DEFINEQ (MEVAL [LAMBDA NIL
			  (PROG ...4...
				(PROG ...2...
				      (COND (T (SETQ &V
						     (PROG NIL 
					     "(PRIN1 (PROGN & --))" --))
					       )
					    --)
				      --)
				--]))

13. APPLY/EVAL at 
  (DEFINEQ (MEVAL [LAMBDA
		    NIL
		    (PROG ...4...
			  (PROG ...2...
				(COND (T (SETQ &V
					       (PROG ...3...
						     (COND
						       ...2...
						       ((EQ &X& &)
							(PROG NIL 
						 "(EVAL (QUOTE &))" --))
						       --)
						     --)))
				      --)
				--)
			  --]))

14. IOFNS at 
  (DEFINEQ (MEVAL [LAMBDA
		    NIL
		    (PROG ...4...
			  (PROG ...2...
				(COND (T (SETQ &V
					       (PROG ...3...
						     (COND
						       ...2...
						       ((EQ &X& &)
							(PROG ...3... 
						      "(INC NIL T)" --))
						       --)
						     --)))
				      --)
				--)
			  --]))

15. APPLY/EVAL at 
  (DEFINEQ
    (MEVAL [LAMBDA
	     NIL
	     (PROG ...4...
		   (PROG ...2...
			 (COND (T (SETQ &V
					(PROG ...3...
					      (COND
						...3...
						((EQ MODE &)
						 &
						 (ERSETQ (PRINT 
						       "(EVAL &X&)"))
						 --)
						--)
					      --)))
			       --)
			 --)
		   --]))

16. APPLY/EVAL at 
  (DEFINEQ
    (MEVAL
      [LAMBDA
	NIL
	(PROG ...4...
	      (PROG ...2...
		    (COND (T (SETQ &V
				   (PROG ...3...
					 [COND
					   ...4...
					   (T (ERSETQ (PRINT 
						       "(EVAL &X&)"]
					 --)))
			  --)
		    --)
	      --]))

17. INTEGERFN? at 
  (DEFINEQ (&HIER [LAMBDA & (COND & (
				"(GREATERP RBP (&BINDINGPOWER --))"
				    --)
				  --]))

18. ADD1: at 
  (DEFINEQ (&FNCHECK [LAMBDA & (COND ((GETLIS X &)
				      (SETQ &RCNT "(ADD1 &RCNT)")
				      --)
				     --]))

19. IOFNS at 
  (DEFINEQ (&INLINECODE [LAMBDA NIL
				(PROG ...4...
				      (COND (&Y& (PROG NIL 
						     "(OUTC T NIL)" --))
					    --)
				      --]))

20. IOFNS at 
  (DEFINEQ (&INLINECODE [LAMBDA NIL
				(PROG ...4...
				      (COND
					(&Y& (PROG ...4...
						   (COND &
							 (T 
					  "(OUTC (TERPRI NIL) NIL)"))
						   --))
					--)
				      --]))

21. APPLY/EVAL at 
  (DEFINEQ (&INLINECODE [LAMBDA NIL (PROG ...4... (COND & (T 
					       "(EVAL (CONS & --))"))
					  --]))

22. ADD1: at 
  (DEFINEQ (&ERROR [LAMBDA & (PROG & (SETQ &ECNT "(ADD1 &ECNT)")
				   --]))

23. IOFNS at 
  (DEFINEQ (&ERROR [LAMBDA & (PROG ...4... (SETQ OFILE "(OUTC NIL NIL)")
				   --]))

24. IOFNS at 
  (DEFINEQ (&ERROR [LAMBDA & (PROG ...9... (COND ((NULL (SETQ IFILE 
						    "(INC NIL NIL)"))
						  --))
				   --]))

25. IOFNS at 
  (DEFINEQ (&ERROR [LAMBDA & (PROG ...16... "(INC IFILE NIL)" --]))

26. IOFNS at 
  (DEFINEQ (&ERROR [LAMBDA & (PROG ...17... "(OUTC OFILE NIL)" --]))

27. IOFNS at 
  (DEFINEQ (&WARNING [LAMBDA & (PROG & (SETQ OFILE "(OUTC NIL NIL)")
				     --]))

28. PRINC1: at 
  (DEFINEQ (&WARNING [LAMBDA & (PROG ...2... "(PRIN1 (PROGN & --))" --])
	   )

29. PRINC1: at 
  (DEFINEQ (&WARNING [LAMBDA & (PROG ...3... "(PRIN1 MSG)" --]))

30. PRINC1: at 
  (DEFINEQ (&WARNING [LAMBDA & (PROG ...4... "(PRIN1 (QUOTE : ))" --]))

31. IOFNS at 
  (DEFINEQ (&WARNING [LAMBDA & (PROG ...6... "(OUTC OFILE NIL)" --]))

32. INTERN/MAKNAM at 
  (DEFINEQ (&SCAN [LAMBDA NIL (COND ((EQ (SETQ --)
					 &IDTYPE)
				     (&SCAN1 "(INTERN SCNVAL)"))
				    --]))

33. INTERN/MAKNAM at 
  (DEFINEQ (&SCAN [LAMBDA NIL (COND & ((EQ &SCANTYPE &DELIMTYPE)
				     (&SCAN1 
				      "(INTERN (CHARACTER SCNVAL))"))
				    --]))

34. CHARACTERCODE at 
  (DEFINEQ (&SCAN [LAMBDA NIL (COND & ((EQ &SCANTYPE &DELIMTYPE)
				     (&SCAN1 (INTERN 
					       "(CHARACTER SCNVAL)")))
				    --]))

35. MACHINE-CODE at 
  (DEFINEQ (&LAP [NLAMBDA X (PROG ...10... "(CLOSER LOC (GWD --))" --]))

36. MACHINE-CODE at 
  (DEFINEQ (&LAP [NLAMBDA X (PROG ...15...
				  [MAPCAR & (FUNCTION (LAMBDA
							&
							(PROG ...2... 
					    "(CLOSER LOC (GWD --))" --]
				  --]))

37. NUMVAL: at 
  (DEFINEQ (&LAP [NLAMBDA X (PROG ...16... (PUT ...2... "(VAG BPORG)")
				  --]))

38. REMPROP at 
  (DEFINEQ (&LAP [NLAMBDA X (PROG ...18...
				  [MAPCAR REMOB
					  (FUNCTION (LAMBDA
						      &
						      (COND
							((AND 
					   "(REMPROP Y (QUOTE --))" --)
							 --]
				  --]))

39. INTEGERFN? at 
  (DEFINEQ [&BPCHECK (LAMBDA NIL (COND ((NOT 
				     "(LESSP (SETQ LOC --) LAPORG)")
					--])

40. ADD1: at 
  (DEFINEQ [&BPCHECK (LAMBDA NIL (COND ((NOT (LESSP (SETQ LOC 
						       "(ADD1 LOC)")
						    --))
					--])

                     Index of Remarks





ADD1: at 18, 22, 40.
     ADD1, ZEROP and and SUB1 in BBN lisp fix their arguments before 
checking or incrementing, i.e. are an integer functions only.

APPLY/EVAL at 2, 3, 13, 15, 16, 21.
     TRANSOR will translate the arguments of the APPLY or EVAL 
expression, but the user must make sure that the run-time evaluation of 
the arguments returns a BBN-compatible expression.

CHARACTERCODE at 34.
     The UCI functions ASCII and CHRVAL should be directly replacable by
 the BBN function CHARACTER and CHCON1 respectively This transformation 
has been performed, but the user should watch out for such problems as 
different use of control characters, etc.

INTEGERFN? at 4, 5, 17, 39.
     At the places noted above, an UCI arithmetic function has been 
converted to a general arithmetic fn in the BBN system. This choice is 
rather conservative, since most of the time the conversion could 
probably be made to the corresponding BBN integer arithmetic function. 
For the advantages of using integer fns whenever possible, see chapter 
13 of the BBN lisp manual. Users may accept the conservative choice; or 
they may eyeball their listings and substitute the integer functions 
themselves by hand, or they may choose to revise the transformations to 
convert to the integer functions and then search by hand for those 
places where the general function was really required. The latter 
approach is best when one knows in advance that the object program does 
no floating point arithmetic.

INTERN/MAKNAM at 32, 33.
     The expression (INTERN (MAKNAM FOO)) converts to (PACK FOO) , but 
there is no BBN equivalent to INTERN or MAKNAM alone; user must decide 
what is being attempted.

IOFNS at 1, 6, 7, 9, 10, 14, 19, 20, 23, 24, 25, 26, 27, 31.
     Random grubby IO functions, documented in chapter 14 of SRI LISP 
SAILON 28.5 and chapter 4 of the UCI LISP manual, most of which I am too
 lazy to fix up.

MACHINE-CODE at 35, 36.
     Expression dependent on machine-code. User must recode.

NUMVAL: at 37.
     NUMVAL converts to VAG. But users should perhaps make sure that the
 overall sense of functions which do boxing and unboxing is still 
reasonable.

PRINC1: at 11, 12, 28, 29, 30.
     PRINC converts to PRIN1.

REMPROP at 8, 38.
     On UCI Lisp REMPROP returns T if the property was there, on BBN 
returns name of property always. User must check if value being used.